网络层功能
1 异构网络互联
网络互联通常指用路由器进行网络互联和路由选择,在TCP/IP体系中,参加互联的计算机网络使用相同的IP协议,组成一个虚拟互联网络,该网络对互联的具体网络异构细节是透明的。
2 路由与转发
路由器主要完成两个功能:路由选择(确定哪一条路径)和分组转发(分组到达时所采取的行动)
3 拥塞控制
通信子网中,由于出现过量的分组而引起网络性能下降的现象称为拥塞。
判断:
网络负载增加而网络吞吐量明显小于正常吞吐量则网络进入”轻度拥塞”状态;若网络吞吐量随着网络负载的增加反而下降,网络进入拥塞状态;若网络吞吐量下降到零,则网络进入死锁状态。
流量控制和拥塞控制:
流量控制只涉及发送端和接收端,通过控制发送端的数据发送速率,使接收端及时接收。拥塞控制是全局问题,涉及网络中所有主机、路由器和导致网络传输能力下降的所有因素。
拥塞控制方法:
- 开环控制:事先考虑拥塞因素,预防拥塞产生,是一种静态方法。
- 闭环控制:事先不做处理,检测到拥塞再处理,是一种动态方法。
路由算法
1 静态路由和动态路由
静态路由算法:网络管理员手工配置路由信息
动态路由算法:路由器之之间彼此交换路由信息,按照一定的算法获得最优寻路效果
2 距离-向量路由算法
距离-向量路由算法中,所有节点定期将它们的整个路由选择表传送给所有直接相邻结点。路由选择表包括:每条路径的目的地和路径的距离(跳数)
3 链路状态路由算法
链路状态路由中,每个结点都有完全的网络拓扑图,当链路状态发生变化时,结点通过广播方式向所有结点告知与自己直接相连的链路信息。
距离-向量路由算法和链路状态路由算法比较:
距离-向量路由算法 | 链路状态路由算法 | |
---|---|---|
交流对象 | 直接相邻结点 | 其他所有结点 |
交流内容 | 自己到网络中所有其他结点的信息 | 与自己直接相连的链路信息 |
路由环路 | 有可能出现 | 无 |
4 层次路由
路由选择按照层次方式进行以适应网路规模的扩大
- 内部网关协议(IGP):自治系统内部所使用的路由选择协议
- RIP协议
- OSPF协议
- 外部网关协议(EGP):自治系统之间所使用的路由协议
- BGP协议
IPv4
1 IPv4分组
IPv4分组格式
一个IP分组由首部和数据两部分组成,首部的前一部分长度固定为20(4*5)字节IP 首部重要字段:
- 版本:IP协议版本 - 首部长度:基本单位为4B(32位) - 总长度:基本单位为B(即字节),最大长度为2<sup>16</sup>-1 = 65535 字节 - 标识:每产生一个数据报,标识加一;一个数据报的不同分片标识相同 - 标志:占3位,最低位为MF(more fragment),MF =1 表示还有分片,MF=0 表示最后一个分片;中间位为DF(Don't Fragment),DF = 0 表示该数据报允许分片 - 片偏移:基本单位为8字节(64位) - 首部检验和:只检验分组的首部,不检验数据部分 - 生产时间TTL:数据报可通过路由器数的最大值 - 协议:传输层协议
IP 数据报分片
MTU:最大传输单元,指链路层数据报所能承受的最大数据量,以太网的MTU为1500字节。网络层转发分组的流程
IPv4地址与NAT
IPv4地址
特殊IP地址:- 主机号全为0 表示本网络本身
- 主机号全为1表示本网络的广播地址
- 127.0.0.0用于环路自检,表示任意主机自身
- 0.0.0.0表示本网络的本主机
- 255.255.255.255 表示网络的广播地址
网络地址转换(NAT)
NAT:NAT通过将内网地址转化为公网地址,对外屏蔽内部IP地址。
NAT转换表:储存{本地IP地址:端口}到{全球IP地址:端口}的映射关系
NAT看得见端口,故工作在传输层
子网划分与子网掩码、CIDR
子网划分
从主机位借用若干比特作为子网号,如三级IP地址={网络号,子网号,主机号}子网掩码
子网掩码(二进制)与主机IP地址作 与操作 得到 主机网络号无分类编址CIDR
CIDR:取消传统ABCD类网络划分,采用{网络前缀,主机号}的两级编址
路由聚合:将网络前缀相同的连续IP地址组成新的CIDR地址块
最长前缀匹配:使用CIDR时查找路由表可能会得到多个匹配结果,应当在匹配结果中找具有最长网络前缀的路由。
ARP协议、DHCP协议与ICMP协议
ARP协议(地址解析协议):
每个主机本地高速缓存存放ARP表,用来维护IP地址到MAC地址的映射。A欲向B发数据时,查找ARP表,若找到,则将MAC地址写入MAC帧后发送;若找不到,则向局域网所有主机广播ARP请求,B收到请求后向A发出响应,A更新B的映射关系到ARP表,再次查询后将B的MAC地址写入MAC帧,发送数据。
ARP协议工作在网络层。动态主机配置协议DHCP
DHCP 常用于给主机动态地分配IP地址,DHCP是基于UDP的应用层协议
DHCP工作原理:
需要IP的主机广播发现报文,DHCP服务器收到报文后回答此广播报文,为其分配地址,称为提供报文。
DHCP客户端和服务端通过广播方式进行交互。
网际控制报文协议ICMP
ICMP 是IP层协议,用来报告差错和异常情况。
ICMP报文种类:
- ICMP差错报告报文:
- 终点不可达
- 源点抑制
- 时间超时
- 参数问题
- 改变路由
- ICMP询问报文
- 会送请求和回答报文
- 时间戳请求和回答报文
- 掩码地址请求和回答报文
- 路由器询问和通告报文
- ICMP的应用:
- PING:工作在应用层
- traceroute:工作在网络层
IPv6
IPv6 采用128位地址
路由协议
自治系统
自治系统(AS):单一技术管理下的一组路由器,使用内部路由选择协议确定分组在AS内的路由,使用域间路由协议确定分组在AS之间的路由。
域内路由与域间路由
- 内部网关协议
- RIP协议
- OSPF协议
- 外部网关协议
- BGP-4
RIP路由协议
RIP是一种分布式的基于距离向量的路由选择协议,是基于UDP的应用层协议
RIP 协议规定:
- 路由器维护自己到其他每一个路由器的距离记录(这样一组距离称为距离向量)
- 每经过一个路由器跳数加一,最多允许15跳,距离为16时表示网络不可达。
- 优先选择跳数小的路径
RIP 协议优点:实现简单,开销小
RIP协议缺点:
- 由于要交换完整路由表,网络规模越大,开销越大
- 网络故障时会出现慢收敛现象,俗称“坏消息传的慢”
OSPF路由协议
- OSPF协议基本特点
开发最短路径优先(OSPF)协议是使用分布式链路状态路由算法的典型代表。
OSPF协议特点:
- 使用泛红法向所有路由器发送信息
- 发送信息为与本路由器相邻的所有路由器的链路状态
- 链路发生变化时,路由器才用泛红法向所有路由器发送此消息,更新收敛块
- OSPF是网络层协议,使用IP数据报传送;而RIP是应用层协议,使用UDP传送。
- 每隔一段时间刷新一次数据库中的链路状态
BGP路由协议
边界网关协议(BGP)是不同自治系统的路由器之间交换路由信息的协议。
BGP是基于TCP的应用层协议。
工作原理:每个自治系统选择一个“BGP”发言人,发言人之间要交换路由信息时,先建立TCP连接。
三种路由协议的比较:
协议 | RIP | OSPF | BGP |
---|---|---|---|
类型 | 内部 | 内部 | 外部 |
路由算法 | 距离-向量 | 链路状态 | 路径-向量 |
传递协议 | UDP | IP | TCP |
路径选择 | 跳数最少 | 代价最低 | 较好,非最佳 |
交换结点 | 和本结点相邻的路由器 | 网络中全部路由器 | 和本结点相邻的路由器 |
交换内容 | 自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次:整个路由表;非首次:有变化的部分 |
网络层设备
路由器组成和功能
路由器是一种具有多个输入输出端口的专用计算机,其任务是连接异构的网络并完成路由转发。
路由器是网络层设备,它实现了物理层、数据链路层和网络层。
路由器组成:
- 路由选择:控制部分,其任务是根据路由选择协议构造路由表,并对路由表进行维护和更新。
- 分组转发:
- 交换结构:处理分组
- 一组输入端口:从比特流提取网络从数据
- 一组输出端口:与输入端口进行相反操作
路由表与路由转发
路由表根据路由选择算法得出,用于路由选择。包含目的网络IP地址、子网掩码、下一跳IP地址和接口。
转发表由路由表得出,包含分组的目的地址和下一跳地址(MAC)